package com.ruoyi.vbze.mapper;

import java.util.List;

import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.vbze.domain.Block;
import com.ruoyi.vbze.domain.Plant;

/**
 * 地块管理Mapper接口
 * 
 * @author vbze
 * @date 2023-02-22
 */
public interface BlockMapper 
{
    /**
     * 查询地块管理
     * 
     * @param id 地块管理主键
     * @return 地块管理
     */
    public Block selectBlockById(Long id);

    /**
     * 查询地块管理列表
     * 
     * @param block 地块管理
     * @return 地块管理集合
     */
    public List<Block> selectBlockList(Block block);



    /**
     * 通过地块编号查询地块
     *
     * @param blockNumber 地块编号
     * @return 地块对象信息
     */
    public Block selectBlockByBlockNumber(String blockNumber);

    /**
     * 新增地块管理
     * 
     * @param block 地块管理
     * @return 结果
     */
    public int insertBlock(Block block);

    /**
     * 修改地块管理
     * 
     * @param block 地块管理
     * @return 结果
     */
    public int updateBlock(Block block);

    /**
     * 删除地块管理
     * 
     * @param id 地块管理主键
     * @return 结果
     */
    public int deleteBlockById(Long id);

    /**
     * 批量删除地块管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBlockByIds(Long[] ids);

    /**
     * 批量删除植株管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePlantByBlockNumbers(Long[] ids);
    
    /**
     * 批量新增植株管理
     * 
     * @param plantList 植株列表
     * @return 结果
     */
    public int batchPlant(List<Plant> plantList);
    

    /**
     * 通过地块编号删除植株信息
     * 
     * @param blockNumber 地块编号
     * @return 结果
     */
    public int deletePlantByBlockNumber(String blockNumber);
}
